package com.hhwy.framework.persistent;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
/**
 * <b>类 名 称：</b>QueryResult 查询结果封装，包括查询返回的数据和总的记录数<br/>
 * <b>类 描 述：</b><br/>
 * <b>创 建 人：</b>lihuiming<br/>
 * <b>修 改 人：</b>Administrator<br/>
 * <b>修改时间：</b>2014年8月4日 上午8:53:39<br/>
 * <b>修改备注：</b><br/>
 * @version 1.0.0<br/>
 */
@JsonInclude(Include.NON_NULL)
public class QueryResult<T> {
	
	/**数据*/
	private List<T> data = null;
	
	/**总记录数*/
	private Long total = null; 
	private Map<String,Object> extMap =null;

    
	public Long getTotal() {
		return total;
	}
	public void setTotal(Long total) {
		this.total = total;
	}
	
	/**
	 * getData : 如果类型是data则返回data， 如果rows和data都匹配不上，则返回data<br/>
	 * @return 
	 * List<T>
	 * @exception 
	 * @since  1.0.0
	 */
	public List<T> getData() {
		
		if(!"data".equals(Pagination.pageType.get())
				&& "rows".equals(Pagination.pageType.get()))
			return null;
		
		return data;
	}
	public List<T> getRows() {
		if(!"rows".equals(Pagination.pageType.get()))
			return null;
		return data;
	}
	
	public void setData(List<T> data) {
		this.data = data;
	}
	public Map<String, Object> getExtMap() {
		return extMap;
	}
	public void setExtMap(Map<String, Object> extMap) {
		this.extMap = extMap;
	}
	
	@Override  
     public String toString() {  
         return "Page{list=" +data+  ", total=" + total +   '}';  
     }  
	
	
}
